home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .ss.
- ; `²²'
- ; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
- ; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
- ; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
- ; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
- ; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
- ; .sS²°$$$²²°"' d²°'
- ; .$$² .$$'
- ; $$$.,d$$'
- ; `²S$$S²'
- ;------------------------------------------------------------------------------
- ; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
- ;------------------------------------------------------------------------------
- ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Boolean BOOLEAN001
- Boolean BOOLEAN002
- Boolean BOOLEAN003
- Boolean BOOLEAN004
- Boolean BOOLEAN005
- Boolean BOOLEAN006
- Boolean BOOLEAN007
- Boolean BOOLEAN008
- Boolean BOOLEAN009
- Boolean BOOLEAN010
- Boolean BOOLEAN011
- Date DATE002
- Integer INTEGER002
- Integer INTEGER003
- Integer INTEGER004
- Integer INTEGER005
- String STRING002
- String STRING003
- String STRING004
- String STRING005
- String STRING006
- String STRING007
- String STRING008
- String STRING009
- String STRING010
- String STRING011
- String STRING012
- String STRING013
- String STRING014
- String STRING015
- String STRING016
- String STRING017
- String STRING018
- String STRING019
- String STRING020
- String STRING021
- String STRING022
- String STRING023
- String STRING024
- String STRING025
- String STRING026
- String STRING027
- String STRING028
-
- ;------------------------------------------------------------------------------
-
- BOOLEAN001 = 0
- BOOLEAN002 = 0
- BOOLEAN003 = 0
- BOOLEAN004 = 0
- BOOLEAN005 = 0
- BOOLEAN006 = 0
- BOOLEAN007 = 0
- BOOLEAN008 = 0
- BOOLEAN009 = 0
- BOOLEAN010 = 0
- BOOLEAN011 = 0
- DATE002 = Date()
- STRING002 = ""
- STRING003 = ""
- STRING004 = ""
- STRING005 = ""
- STRING006 = ""
- STRING007 = ""
- STRING008 = ""
- STRING009 = ""
- STRING010 = ""
- STRING011 = ""
- STRING012 = ""
- STRING013 = ""
- STRING014 = ""
- STRING015 = ""
- STRING016 = ""
- STRING017 = ""
- STRING018 = ""
- STRING019 = ""
- STRING020 = ""
- STRING021 = ""
- STRING022 = ""
- STRING023 = ""
- STRING024 = ""
- STRING025 = ""
- STRING026 = ""
- STRING027 = ""
- STRING028 = ""
- INTEGER003 = 0
- INTEGER004 = 0
- INTEGER005 = 0
- INTEGER002 = 0
- FOpen 1, PPEPath() + PPEName() + ".CFG", 0, 0
- FGet 1, STRING002
- FGet 1, STRING003
- FGet 1, STRING004
- FGet 1, STRING005
- FGet 1, STRING006
- FGet 1, STRING007
- FGet 1, STRING008
- FGet 1, BOOLEAN001
- FGet 1, STRING009
- FGet 1, STRING010
- FGet 1, STRING011
- FGet 1, BOOLEAN002
- FGet 1, STRING012
- FGet 1, STRING013
- FGet 1, BOOLEAN003
- FGet 1, STRING014
- FClose 1
- For INTEGER002 = 1 To 25
- STRING015 = Mid(STRING002, INTEGER002, 1)
- INTEGER003 = Asc(STRING015) + 3
- INTEGER004 = INTEGER004 + INTEGER003
- Next
- STRING016 = (((((((INTEGER004 * Len(Strip(STRING002, " "))) * 4) / 2) * 6) / 2) * 8) / 2) * 10
- Gosub LABEL010
- GetUser
- If (U_Sec > STRING004) Then
- PrintLn
- DispFile PPEPath() + "2HIGH", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- PrintLn
- DispFile PPEPath() + "WELC", 2 + 1 + 4
- PrintLn
- Wait
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "SEL", 2 + 1 + 4
- If (BOOLEAN002) Then
- PrintLn
- PrintLn "@X0CHit <enter> to abort callback."
- InputStr "@X0FCall Your (V)oice " + U_HVPhone + " (D)ata " + U_BDPhone + " or (E)nter number ", STRING017, 15, 1, "DEV", 8 + 32 + 2 + 4
- Endif
- If (BOOLEAN002) Goto LABEL001
- PrintLn
- PrintLn "@X0CHit <enter> to abort callback."
- InputStr "@X0FCall Your (V)oice " + U_HVPhone + " (D)ata " + U_BDPhone + " Line ", STRING017, 15, 1, "DV", 8 + 32 + 2 + 4
- :LABEL001
- If (STRING017 == "") Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "ABORT", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- If (STRING017 == "D") Gosub LABEL008
- If (STRING017 == "V") Gosub LABEL008
- If (STRING017 == "E") Gosub LABEL011
- Gosub LABEL009
- If (BOOLEAN004) Goto LABEL002
- Goto LABEL003
- :LABEL002
- Gosub LABEL011
- :LABEL003
- Gosub LABEL012
- Gosub LABEL013
- FOpen 1, PPEPath() + "LOC_EXC.DAT", 0, 3
- SearchInit STRING019 + "-" + STRING020, 1
- While (!Ferr(1) && !BOOLEAN007) Do
- FGet 1, STRING023
- SearchFind STRING023, BOOLEAN007
- EndWhile
- SearchStop
- FClose 1
- If (BOOLEAN007) Then
- Goto LABEL006
- Endif
- If (BOOLEAN008) Goto LABEL004
- FOpen 1, PPEPath() + "LC_EX_1.DAT", 0, 3
- SearchInit STRING019 + "-" + STRING020, 1
- While (!Ferr(1) && !BOOLEAN008) Do
- FGet 1, STRING023
- SearchFind STRING023, BOOLEAN008
- EndWhile
- SearchStop
- FClose 1
- :LABEL004
- If (BOOLEAN008) Then
- Goto LABEL006
- Endif
- If (BOOLEAN001) Then
- FOpen 1, PPEPath() + "AREACODE.DAT", 0, 3
- SearchInit STRING019, 1
- While (!Ferr(1) && !BOOLEAN009) Do
- FGet 1, STRING024
- SearchFind STRING024, BOOLEAN009
- EndWhile
- SearchStop
- FClose 1
- Endif
- If (BOOLEAN009) Goto LABEL005
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "ACLDN", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- :LABEL005
- If (Mid(STRING010, 1, 5) < Mid(STRING011, 1, 5)) Then
- If (((Dow(Date()) <> 6) && BOOLEAN009) && ((Time() / 36 < Mid(Strip(STRING010, ":"), 1, 5)) || (Time() / 36 >= Mid(Strip(STRING011, ":"), 1, 5)))) Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "LDNO", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- Endif
- If (Mid(STRING010, 7, 5) < Mid(STRING011, 7, 5)) Then
- If (((Dow(Date()) == 7) && BOOLEAN009) && ((Time() / 36 < Mid(Strip(STRING010, ":"), 7, 5)) || (Time() / 36 >= Mid(Strip(STRING011, ":"), 7, 5)))) Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "LDNO", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- Endif
- If (Mid(STRING010, 1, 5) > Mid(STRING011, 1, 5)) Then
- If (((Dow(Date()) <> 6) && BOOLEAN009) && ((Time() / 36 < Mid(Strip(STRING010, ":"), 1, 5)) && (Time() / 36 >= Mid(Strip(STRING011, ":"), 1, 5)))) Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "LDNO", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- Endif
- If (Mid(STRING010, 7, 5) > Mid(STRING011, 7, 5)) Then
- If (((Dow(Date()) == 7) && BOOLEAN009) && ((Time() / 36 < Mid(Strip(STRING010, ":"), 7, 5)) && (Time() / 36 >= Mid(Strip(STRING011, ":"), 7, 5)))) Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "LDNO", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- Endif
- If (BOOLEAN009) Then
- Goto LABEL006
- Endif
- If ((!BOOLEAN007 && !BOOLEAN008) && !BOOLEAN009) Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "ERROR", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- :LABEL006
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "CALL", 2 + 1 + 4
- PrintLn
- Wait
- If (BOOLEAN007) Then
- PrintLn "@X0F" + STRING002 + " will make (@X0C" + STRING008 + "@X0F) attempt(s) to connect to you."
- PrintLn
- PrintLn "@X0FEach attempt will last for (@X0C" + STRING012 + "@X0F) seconds."
- PrintLn
- Wait
- STRING026 = STRING008
- STRING027 = 1
- Endif
- If (BOOLEAN009 || BOOLEAN008) Then
- PrintLn "@X0F" + STRING002 + " will make (@X0C" + STRING009 + "@X0F) attempt(s) to connect to you."
- PrintLn
- PrintLn "@X0FEach attempt will last for (@X0C" + STRING012 + "@X0F) seconds."
- PrintLn
- Wait
- STRING026 = STRING009
- STRING027 = 1
- Endif
- If (OnLocal()) Then
- BOOLEAN011 = 1
- PrintLn
- PrintLn " <<<*** BEGINNING LOCAL MODE SIMULATON ***>>>"
- PrintLn
- Wait
- Else
- While ((STRING026 >= STRING027) && !BOOLEAN010) Do
- CdChkOff
- KbdChkOff
- DtrOff
- Delay 180
- DtrOn
- STRING026 = STRING026 - 1
- PrintLn "@X0CUser has " + STRING026 + " attempts left."
- PrintLn "@X0CInitializing modem...."
- SendModem "AT" + STRING013
- SendModem Chr(13)
- Delay 180
- PrintLn "@X0CDialing and waiting...."
- SendModem "ATDT"
- If (BOOLEAN007) Then
- SendModem STRING020 + STRING021
- ElseIf (BOOLEAN008) Then
- SendModem "1" + STRING020 + STRING021
- ElseIf (BOOLEAN009) Then
- SendModem "1" + STRING019 + STRING020 + STRING021
- Goto LABEL007
- Endif
- :LABEL007
- SendModem Chr(13)
- WaitFor "CONNECT", BOOLEAN010, STRING012
- EndWhile
- If (BOOLEAN010) Then
- CdChkOn
- KbdChkOn
- Endif
- STRING026 = 1
- While ((STRING026 <= STRING006) && (STRING025 <> U_Pwd)) Do
- KbdFlush
- MdmFlush
- Cls
- PrintLn
- PrintLn
- PrintLn
- Gosub LABEL010
- DispFile PPEPath() + "PWORD", 2 + 1 + 4
- PrintLn
- InputStr "@X0CEnter Password:", STRING025, 15, 12, Mask_Pwd(), 8 + 1 + 32 + 2
- If (STRING025 <> U_Pwd) Then
- PrintLn
- DispFile PPEPath() + "WRONG", 2 + 1 + 4
- PrintLn
- STRING026 = STRING026 + 1
- STRING025 = ""
- Wait
- Endif
- EndWhile
- If (STRING025 <> U_Pwd) Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "OUT", 2 + 1 + 4
- PrintLn
- Delay 180
- Hangup
- Endif
- If (STRING025 == U_Pwd) Then
- U_Sec = STRING005
- U_ExpDate = DATE002 + STRING007
- If (BOOLEAN003) Then
- STRING028 = "[" + STRING019 + "-" + STRING020 + "-" + STRING021 + "] " + String(Date()) + " " + Mid(String(Time()), 1, 5)
- U_Cmnt2 = STRING028
- Endif
- Gosub LABEL010
- DispFile PPEPath() + "UP", 2 + 1 + 4
- PrintLn
- PutUser
- FAppend 1, PPEPath() + "VERIFIED.DAT", 1, 3
- FPutLn 1, STRING019 + "-" + STRING020 + "-" + STRING021 + " :" + U_Name()
- FClose 1
- Endif
- If (BOOLEAN011) Then
- End
- Endif
- If (BOOLEAN009 || BOOLEAN008) Then
- DispFile PPEPath() + "LDOFF", 2 + 1 + 4
- PrintLn
- Delay 180
- Hangup
- Endif
- If (BOOLEAN007) Then
- Wait
- Endif
- Endif
- Cls
- End
- :LABEL008
- If (STRING017 == "D") Then
- STRING022 = StripStr(U_BDPhone, "(")
- Endif
- If (STRING017 == "V") Then
- STRING022 = StripStr(U_HVPhone, "(")
- Endif
- STRING022 = StripStr(STRING022, ")")
- STRING022 = StripStr(STRING022, "-")
- STRING022 = StripStr(STRING022, " ")
- STRING019 = Mid(STRING022, 1, 3)
- STRING020 = Mid(STRING022, 4, 3)
- STRING021 = Mid(STRING022, 7, 4)
- Return
- :LABEL009
- If (Len(STRING022) <> 10) Then
- PrintLn
- PrintLn "@X0CPhone Number Must Be In (xxx)xxx-xxxx of xxx-xxx-xxxx Format."
- PrintLn "@X0CPlease enter your phone number with full area code."
- PrintLn
- STRING017 = "E"
- BOOLEAN004 = 1
- Endif
- Return
- :LABEL010
- Cls
- PrintLn
- PrintLn "@X0F Welcome to CallUp v2.ß -- User Callback Verifier."
- PrintLn "@X0F Copyright (C) 1995 James Nerlinger"
- PrintLn
- If (STRING016 == STRING003) Then
- INTEGER005 = (50 - Len(STRING002)) / 2
- Forward INTEGER005
- Print "@X0FCallUp v2.ß Is Registered To " + STRING002
- PrintLn
- Endif
- If (STRING016 <> STRING003) Then
- Forward INTEGER005
- Print "@X0FCallUp v2.ß Is Registered To " + STRING002
- Endif
- Return
- :LABEL011
- STRING019 = ""
- STRING020 = ""
- STRING021 = ""
- While (STRING018 <> "C") Do
- STRING018 = ""
- While (Len(StripStr(STRING019, " ")) < 3) Do
- InputStr "@X0FYour Area Code (enter to abort): ", STRING019, 15, 3, Mask_Num(), 2 + 32 + 4
- If (STRING019 == "") Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "ABORT", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- EndWhile
- While (Len(StripStr(STRING020, " ")) < 3) Do
- InputStr "@X0FYour Prefix (enter to abort): ", STRING020, 15, 3, Mask_Num(), 2 + 32 + 4
- If (STRING020 == "") Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "ABORT", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- EndWhile
- While (Len(StripStr(STRING021, " ")) < 4) Do
- InputStr "@X0FYour Suffix (enter to abort): ", STRING021, 15, 4, Mask_Num(), 2 + 32 + 4
- If (STRING021 == "") Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "ABORT", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- EndWhile
- STRING022 = STRING019 + STRING020 + STRING021
- While (STRING018 == "") Do
- InputStr "@X0FYou Entered @X0C" + STRING019 + "-" + STRING020 + "-" + STRING021 + "@X0F (C)ontinue or (R)e-enter ", STRING018, 15, 1, "CR", 8 + 2 + 32 + 4
- If (STRING018 == "") Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "ABORT", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- EndWhile
- EndWhile
- Return
- :LABEL012
- FOpen 1, PPEPath() + "VERIFIED.DAT", 0, 3
- SearchInit STRING019 + "-" + STRING020 + "-" + STRING021, 0
- While (!Ferr(1) && !BOOLEAN005) Do
- FGet 1, STRING024
- STRING024 = Mid(STRING024, 1, 12)
- SearchFind STRING024, BOOLEAN005
- EndWhile
- SearchStop
- FClose 1
- If (BOOLEAN005) Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "ALRDY", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- Return
- :LABEL013
- FOpen 1, PPEPath() + "TRASH.DAT", 0, 3
- SearchInit STRING019 + "-" + STRING020 + "-" + STRING021, 0
- While (!Ferr(1) && !BOOLEAN006) Do
- FGet 1, STRING024
- STRING024 = Mid(STRING024, 1, 12)
- If (Mid(STRING024, 1, 12) == STRING019 + "-???-????") Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "ACNO", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- If (Mid(STRING024, 1, 12) == "???-" + STRING020 + "-????") Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "PRENO", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- If (Mid(STRING024, 1, 12) == "???-???-" + STRING021) Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "SUFNO", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- If (Mid(STRING024, 1, 12) == STRING019 + "-" + STRING020 + "-" + STRING021) Then
- Gosub LABEL010
- PrintLn
- DispFile PPEPath() + "TRASH", 2 + 1 + 4
- PrintLn
- Wait
- Cls
- End
- Endif
- SearchFind STRING024, BOOLEAN006
- EndWhile
- SearchStop
- FClose 1
- Return
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 19 End
- ; 20 Cls
- ; 24 Wait
- ; 82 Goto
- ; 80 Let
- ; 2 Print
- ; 76 PrintLn
- ; 64 If
- ; 25 DispFile
- ; 6 FOpen
- ; 1 FAppend
- ; 7 FClose
- ; 21 FGet
- ; 1 FPutLn
- ; 2 Hangup
- ; 1 GetUser
- ; 1 PutUser
- ; 7 InputStr
- ; 29 Gosub
- ; 6 Return
- ; 1 DtrOn
- ; 1 DtrOff
- ; 1 CdChkOn
- ; 1 CdChkOff
- ; 4 Delay
- ; 7 SendModem
- ; 1 WaitFor
- ; 1 KbdChkOn
- ; 1 KbdChkOff
- ; 2 Forward
- ; 1 KbdFlush
- ; 1 MdmFlush
- ; 5 SearchInit
- ; 5 SearchFind
- ; 5 SearchStop
- ;
- ;
- ; ■ Functions used :
- ;
- ; 5 *
- ; 12 /
- ; 180 +
- ; 2 -
- ; 19 ==
- ; 8 <>
- ; 10 <
- ; 2 <=
- ; 3 >
- ; 7 >=
- ; 71 !
- ; 21 &&
- ; 5 ||
- ; 6 Len(
- ; 27 Mid()
- ; 5 Ferr()
- ; 2 Chr()
- ; 1 Asc()
- ; 6 Date()
- ; 9 Time()
- ; 1 U_Name()
- ; 4 Dow()
- ; 9 Strip()
- ; 2 String()
- ; 1 Mask_Pwd()
- ; 3 Mask_Num()
- ; 32 PPEPath()
- ; 1 OnLocal()
- ; 1 PPEName()
- ; 8 StripStr()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : WBMH
- ;
- ; W - Write user ■ 5
- ; Program writes a user record. Although this may be normal for a
- ; User Editor, it may also be a way to modify an account level.
- ; ■ Search for : PUTUSER
- ;
- ; B - Brute hangup ■ 1
- ; Program hangup without notification. This may be a good way to
- ; disconnect a user, but if used randomly, may be very nasty
- ; ■ Search for : HANGUP, DTROFF
- ;
- ; M - Send text to modem only ■ 4
- ; Some informations are sent only to the modem, not to the local
- ; screen, this is a well known way to make stealth backdoors, Check!
- ; ■ Search for : SENDMODEM, MPRINT, MPRINTLN
- ;
- ; H - Read Password or Password History ■ 5
- ; Program is reading the user's password or last password history
- ; This may be ok for a password manager, but it is very suspect. Check!
- ; ■ Search for : U_PWDHIST, U_PWD
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 1 For/Next
- ; 12 While/EndWhile
- ; 44 If/Then or If/Then/Else
- ; 0 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-